//
//  linearList.hpp


#ifndef linearList_h
#define linearList_h
#ifndef sequenceList_h
#define sequenceList_h

#pragma once
class sequenceList
{
private:
    int len;
    int size;
    float *a;
public:
    sequenceList();
    sequenceList(const int&, const int&, float[]);
    ~sequenceList();
    bool addItem(const float&);
    bool insertItem(const int&, const float&);
    int deleteItem(const float&);
    bool locate(const int&, float&);
    int locate(const float&);
    void reverse();
    void print();
};
#endif /* Header_h */
class linkList;
class linkNode
{
    friend class linkList;
public:
    float data;
    linkNode* next;
};
class linkList
{
public:
    int len;
    linkNode* first;
    linkList(const int&, float[]);
    ~linkList();
    bool headInsertItem(const float&);
    bool tailInsertItem(const float&);
    int insertItem(const int&, const float&);
    int deleteItem(const float&);
    bool locate(const int&, float&);
    int locate(const float&);
    void ascendingOrder();
    void reverse();
    void print();
};
void merge(linkList&, linkList&);
#endif /* Header_h */
